navigationGo.pngQuick Navigation
allprojects32.pngAll projects
hardware32.pngHardware
links32.pngLinks

favoriteStar32.pngTop projects
Alan numitron clock
Clapclap 2313/1386
SNES Pi Webserver
USB Volume/USB toys
Smokey amp
Laser cutter
WordClock
ardReveil v3
SNES Arcade cabinet
Game boy projects
cameleon
Home Presence Detector

github32.pngGitHub
AlanFromJapan

navigationMail.pngContact me

alanfjmail.png
3flags.pngWho's Alan?


Akizukidenshi
Elec-lab
Rand Nerd Tut
EEVblog
SpritesMods
AvrFreaks
Gameboy Dev
FLOZz' blog
Switch-science
Sparkfun
Suzusho
Datasheet Lib
Reddit Elec
Ermicro
Carnet du maker (fr)

gameboy development guide

Last update: Thu Jun 5 22:25:41 2025
nintendo-game-boy-icon.pngSee my other Gameboy related pages
The goal of this page is to make a logical, simple workflow and entry point on how to start from an idea to a game running on your physical Gameboy.

I - Materials

Make images

Make sprites or extract them from existing games with GbReaper.

Make sounds

For making simple sounds, use that : GBSoundDemo.

II - Coding

Coding the game

My "guide" Gameboy guts and programming but in a nutshell:
  • Code in ASM if you want to make a serious, complex game
  • Code in C if you're ok with a small, casual game and ready to have average performance

  • I code in C so my TL;DR is:
  • Install the latest sdcc (readme below)
  • Clone GBDK-n
  • Edit the GBDK-n's bin/ scripts by changing the path to sdcc to latest sdcc
  • Build GBDK-n (just run make at the root, if you didn't edit but created new scripts edit the Makefile to force usage of latest sdcc)
  • VS code or Eclipse work to code in C
  • You're good to go, start coding!
  • Installing latest SDCC

    Well, last time I did a few years ago it was easy as far as I remember: download latest version, unbzip and done. I rna into a problem though: the prebuilt latest 4.2 was built with more recent libc version than my ubuntu 20.4.
    EASY FIX: pick version 4.0 or 4.1 (4.1 worked out of the box).
    HARDER FIX: just build SDCC from the source on my PC.
  • Get the source from sdcc (in the sdcc/ folder)
  • tar jxf thesource.tar.bz2
  • RTFM
  • ./configure
  • A few packages I was missing : sudo apt install bison flex libboost-graph-dev texinfo
  • ./configure (this time should work)
  • make (go grab a coffee)
  • sudo make install
  • Testing the game

  • The best is BGB and runs on windows or Linux under wine
  • visualboyadvance runs also on Linux but has a worse reputation than bgb so keep it as a second option in case
  • III - Making a physical cartridge

    Making the PCB

    The 32 kB PCB is what you want, and more confusing details on the gameboy homebrew cartridge page.

    Writing the ROM

  • Gameboy homebrew cartridge writer client software in Python3 to upload your code to the EEPROM
  • Use the TL866II EEPROM writer
  • Assemble

  • Solder the EEPROM on the PCB, then you're done
  • All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated)
    electrogeek.tokyo ~ Formerly known as Kalshagar.wikispaces.com and electrogeek.cc (AlanFromJapan [2009 - 2025])